{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/ppolicar/nfs/miniconda/envs/tsne/lib/python3.6/importlib/_bootstrap.py:219: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88\n",
      "  return f(*args, **kwds)\n",
      "/home/ppolicar/nfs/miniconda/envs/tsne/lib/python3.6/importlib/_bootstrap.py:219: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88\n",
      "  return f(*args, **kwds)\n"
     ]
    }
   ],
   "source": [
    "import pickle\n",
    "import gzip\n",
    "from os.path import join\n",
    "\n",
    "import scanpy.api as sc\n",
    "\n",
    "import numpy as np\n",
    "import scipy.sparse as sp\n",
    "import pandas as pd\n",
    "from fbpca import pca\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 2min 15s, sys: 10.3 s, total: 2min 25s\n",
      "Wall time: 2min 25s\n"
     ]
    }
   ],
   "source": [
    "%time adata = sc.read_10x_h5(join(\"data\", \"1M_neurons_filtered_gene_bc_matrices_h5.h5\"))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n",
      "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n",
      "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n",
      "Variable names are not unique. To make them unique, call `.var_names_make_unique`.\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 9min 58s, sys: 2min 57s, total: 12min 56s\n",
      "Wall time: 5min 22s\n"
     ]
    }
   ],
   "source": [
    "%time sc.pp.recipe_zheng17(adata, plot=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/ppolicar/nfs/miniconda/envs/tsne/lib/python3.6/site-packages/ipykernel_launcher.py:1: DeprecationWarning: Use X instead of data, data will be removed in the future.\n",
      "  \"\"\"Entry point for launching an IPython kernel.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array([[-0.09066167, -0.14078538, -0.05399211, ...,  1.2903655 ,\n",
       "         1.2008361 ,  0.9360502 ],\n",
       "       [-0.09066167, -0.14078538, -0.05399211, ...,  0.54371107,\n",
       "         0.8728276 , -0.18804006],\n",
       "       [-0.09066167, -0.14078538, -0.05399211, ..., -0.610376  ,\n",
       "        -2.5165358 , -0.46038082],\n",
       "       ...,\n",
       "       [-0.09066167, -0.14078538, -0.05399211, ..., -0.7364305 ,\n",
       "         0.8866803 ,  0.37244514],\n",
       "       [-0.09066167, -0.14078538, -0.05399211, ...,  0.47101277,\n",
       "         0.13998368,  0.726267  ],\n",
       "       [-0.09066167, -0.14078538, -0.05399211, ...,  0.6153352 ,\n",
       "         1.2735354 ,  0.9248333 ]], dtype=float32)"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "adata.X"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "x_log = adata.X.copy()\n",
    "x_log -= x_log.mean(axis=0)\n",
    "x_log /= x_log.std(axis=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 4min 8s, sys: 25.7 s, total: 4min 34s\n",
      "Wall time: 35.7 s\n"
     ]
    }
   ],
   "source": [
    "%time U, S, V = pca(x_log, k=50)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Change the sign of the eigenvector so the figures are reproducible."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "U[:, np.sum(V, axis=1) < 0] *= -1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 1.13 s, sys: 248 ms, total: 1.38 s\n",
      "Wall time: 397 ms\n"
     ]
    }
   ],
   "source": [
    "%time x_reduced = np.dot(U, np.diag(S))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "x_reduced = x_reduced[:, np.argsort(S)[::-1]][:, :50]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1306127, 50)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x_reduced.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0\n",
       "AAACCTGAGATAGGAG-1    14\n",
       "AAACCTGAGCGGCTTC-1     1\n",
       "AAACCTGAGGAATCGC-1     7\n",
       "AAACCTGAGGACACCA-1     4\n",
       "AAACCTGAGGCCCGTT-1     0\n",
       "Name: 1, dtype: int64"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cluster_ids = pd.read_csv(\"data/louvain.csv.gz\", header=None, index_col=0, squeeze=True)\n",
    "cluster_ids.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "cell_ids = pd.Series(adata.obs.index)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "assert all(cluster_ids.index.values.astype(str) == cell_ids.values.astype(str))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_dict = {\"pca_50\": x_reduced,\n",
    "             \"CellID\": cell_ids.values.astype(str),\n",
    "             \"CellType1\": cluster_ids.values}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "with gzip.open(\"data/10x_mouse_zheng.pkl.gz\", \"wb\") as f:\n",
    "    pickle.dump(data_dict, f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
